package cn.lls.service;

import cn.lls.entity.sys.PermissionEntity;
import cn.lls.vo.permission.MenuVO;
import cn.lls.vo.permission.PermissionVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 划水艺术家
 * @since 2022-11-15
 */
public interface IPermissionService extends IService<PermissionEntity> {

    void addPermission(PermissionEntity permission);

    void updatePermission(PermissionEntity permission);

    void delPermission(Integer permissionId);

    void stopPermission(Integer permissionId);

    void startPermission(Integer permissionId);

    PermissionVO getPermissionById(Integer permissionId);

    List<PermissionVO> getAllPermission();

    List<PermissionVO> getPermissionsByRoleId(Long roleId);

    /*
    获取某个角色的所有菜单
     */
    List<MenuVO> getMenusByRoleId(Long roleId);

    /*
    获取所有超级管理员的菜单
     */
    List<MenuVO> getSuperAdminMenu();

    /*
    获取所有单位管理员的菜单
     */
    List<MenuVO> getCompanyAdminMenu();
}
